Better Interdomain Path Diversity with BGP Path Splicing
نویسندگان
چکیده
Today’s interdomain routing protocol, Border Gateway Protocol (BGP) [9], scales well but suffers from two significant shortcomings. First, does not provide high availability in the event of failures or changes in network conditions (i.e., it converges slowly). Second, BGP is insecure: it provides little to no protection against malicious parties who can inject incorrect or misleading routing information into the global routing tables. Others have argued that multi-path routing can mitigate these problems, but designing a multipath routing protocol that offers a high degree of path diversity while still scaling well has proven difficult because routers must propagate multiple paths for each destination, both bigger routing tables, as well as more churn when network conditions change. However, BGP routing tables already store many routes to a single destination, which provides an opportunity for diversity without changing the routing protocol, if only end systems could somehow gain access to these alternate paths. This paper proposes a mechanism called BGP splicing, which simultaneously—and scalably—provides end systems access to multiple end-to-end BGP routes. Even though each BGP router selects only a single best route by default, each BGP-speaking router will typically have in its routing table a number of routes to every destination that is equal to the total number of iBGP and eBGP sessions. In BGP splicing, every border router in the AS installs every route in the routing table into the forwarding tables on the line cards. As in today’s routers, packets can still be forwarded along a default path, but extra bits in the packet header can cause the router to forward packets along a different path by using a different forwarding table entry. By installing alternate routes in the forwarding table and letting end hosts select among them, BGP splicing trades off more state in router forwarding tables for improved path diversity without introducing any additional protocol complexity. Although BGP splicing could be implemented at all BGP-speaking routers, autonomous systems (ASes) can gain most of the benefits of BGP splicing by deploying splicing at ingress points (whereby BGP splicing can allow end systems to control the path across an AS to a particular egress point) and egress points (whereby end systems can control the next-hop AS along a path to a destination) would be sufficient to achieve the benefits of BGP splicing. BGP splicing offers many potential benefits, including improved availability (through fast access to backup paths), better security (through the ability to simultaneously compare reachability on multiple paths), and higher throughput (through simultaneous access to multiple paths). Despite its conceptual appeal, BGP splicing faces many practical challenges. First, line cards must provide direct support for storing multiple routing table entries for a single destination, which not only requires more memory on line cards but also requires using a few extra bits for packet lookups, which might slow packet forwarding. Second, the BGP route selection process must be altered so that end hosts can use splicing bits to gain access to the best set of alternate paths that still comply with an AS’s policy. For example, a router should prefer all customer routes before all provider routes, and, among its set of most preferred routes, and, among the set of most preferred routes, it should rank routes so that spliced paths have high AS-level path diversity. Finally, because BGP splicing can deflect routing traffic onto a different “tree” at any ingress or egress router, it introduces the possibility of longer forwarding paths, and even forwarding loops. We present scenarios where splicing can introduce loops and mechanisms for detecting and preventing loops. The rest of this paper is organized as follows. Section 2 presents an overview of the general path splicing mechanism, and Section 3 explains path splicing as applied to BGP, highlighting in particular the differences between BGP splicing and path splicing, as well as the required router-level support for BGP path splicing. Section 4 presents safeguards against forwarding loops, Section 5 describes several possible applications of BGP path splicing, Section 6 summarizes related work, and Section 7 concludes.
منابع مشابه
Putting BGP on the Right Path: Better Performance via Next-Hop Routing
Today’s interdomain routing system does not perform well, because the BGP protocol converges slowly, selects paths without regard for performance, does not support multipath routing, and has numerous security vulnerabilities. Rather than adding mechanisms to an already complex protocol, or redesigning interdomain routing from scratch, we propose making BGP simpler, and handling issues such as d...
متن کاملPolicy Disputes in Path-Vector Protocols
The Border Gateway Protocol, BGP, is currently the only interdomain routing protocol employed on the Internet. As required of any interdomain protocol, BGP allows policy-based metrics to override distance-based metrics and enables each autonomous system to independently define its routing policies with little or no global coordination. Varadhan et al. [11] have shown that there are collections ...
متن کاملVirtual Multi-Homing: On the Feasibility of Combining Overlay Routing with BGP Routing
This paper proposes a framework calledVirtualMulti-Homing (VMH) to achieve loose source-based path selection and improve interdomain path diversity. VMH is based on the concept ofVirtual Peering and Multi-Homing Overlay to set up exible inter-domain relationships. By interacting with BGP whenever possible, VMH can achieve scalable inter-domain route discovery without introducing duplicate work....
متن کاملBGP-XM: BGP eXtended Multipath for transit Autonomous Systems
Multipath interdomain routing has been proposed to enable flexible traffic engineering for transit Autonomos Systems (ASes). Yet, there is a lack of solutions providing maximal path diversity and backwards compatibility at the same time. The BGP-XM (Border Gateway ProtocoleXtended Multipath) extension presented in this paper is a complete and flexible approach to solve many of the limitations o...
متن کاملLeveraging Network Performances with IPv6 Multihoming and Multiple Provider-Dependent Aggregatable Prefixes
Multihoming, the practice of connecting to multiple providers, is becoming highly popular. Due to the growth of the BGP routing tables in the Internet, the way to multihome in IPv6 is required to preserve the scalability of the interdomain routing system. A proposed method is to assign multiple provider-dependent aggregatable (PA) IPv6 prefixes to each site, instead of a single provider-indepen...
متن کامل